/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package estsapp.controladores;

import java.awt.Component;
import java.beans.PropertyVetoException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.plaf.basic.BasicInternalFrameUI;

/**
 *
 * @author Diego
 */
public class ControladorPrincipal implements Controlador {

    ControladorPrincipalPantalla pantalla;

    public ControladorPrincipal() {
        pantalla = new ControladorPrincipalPantalla();
    }
    

    @Override
    public JInternalFrame getPantalla() {
        System.out.println("NO tiene pantalla interna");
        return null;
    }

    @Override
    public void iniciar() {
        pantalla.setVisible(true);
        pantalla.setExtendedState(JFrame.MAXIMIZED_BOTH);
        FabricaControladores.getInstance().getControlador(FabricaControladores.controladoresNombre.MENU_INICIAL).iniciar();
    }
    
    /**
     * Agrega el Internal Frame al contenedor principal
     *
     * @param pantallaInterna
     */
    public void agregarPantallaInterna(Component pantallaInterna) {

        ((JInternalFrame)pantallaInterna).toFront();
        ((JInternalFrame)pantallaInterna).setVisible(true);
        pantallaInterna.setBounds(0, 0, pantalla.getWidth(), pantalla.getHeight());
        pantalla.getContenedor().add(pantallaInterna);

        try {//hace que el InternalFrame se maximice.
            ((JInternalFrame) pantallaInterna).setMaximum(true);
        } catch (PropertyVetoException ex) {
            Logger.getLogger(ControladorPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        }
        ((BasicInternalFrameUI) ((JInternalFrame) pantallaInterna).getUI()).setNorthPane(null);//esto hace que el internal frame no tenga barra de titulos
    }
}
